Skip to main content

KTN-16

FieldIsi
Dokumen IDKTN-16
DeskripsiFinishing penjualan kasir: penerapan ambang batas kena pajak dan optimalisasi tampilan untuk tablet
Nomor Revisi1
Tanggal2026-10-04
KeteranganFinishing penjualan kasir untuk Kurnia Tani

1. Ringkasan​

a. In scope​

  • Ambang batas kena pajak (qty_minimal_pajak) diterapkan pada penjualan kasir
  • Snapshot qty_minimal_pajak tersimpan pada baris Penjualans hasil kasir
  • Optimalisasi tampilan penjualan kasir agar nyaman dipakai di tablet

b. Catatan​

  • Aturan ambang batas mengikuti KTN-04 (SKU_Konversis.qty_minimal_pajak, perbandingan dalam satuan terkecil)
  • Fokus dokumen ini adalah penyelesaian / finishing penjualan kasir, bukan mengubah master ambang batas

c. Kesimpulan​

  • [FE] Terapkan logika ambang batas kena pajak pada alur penjualan kasir (tampil + hitung PPN baris)
  • [FE] Optimasi layout / interaksi penjualan kasir untuk layar tablet
  • [BE] Create / finalize penjualan kasir menerima qty_minimal_pajak per baris dan menerapkan PPN vs ambang batas

2. Functional Requirement​

KodeDeskripsi
FR-01Penjualan kasir menerapkan ambang batas kena pajak per baris barang
FR-02Baris Penjualans dari kasir menyimpan qty_minimal_pajak
FR-03Jika qty baris (satuan terkecil) melewati qty_minimal_pajak, PPN baris wajib diterapkan
FR-04Tampilan penjualan kasir dioptimasi untuk penggunaan tablet
FR-05Alur kasir (pilih barang, nota, bayar) tetap dapat dijalankan penuh di tablet

3. Use Case List​

KodeDeskripsi
UC-01Menerapkan ambang batas kena pajak pada penjualan kasir
UC-02Menyimpan penjualan kasir dengan PPN sesuai ambang batas
UC-03Menggunakan penjualan kasir pada tampilan tablet

4. Use Case Scenario​

UC-01 : Menerapkan ambang batas kena pajak pada penjualan kasir​

AktorKasir
DeskripsiSaat menambah barang di kasir, sistem memakai ambang batas kena pajak untuk menentukan PPN baris
Prekondisi- Pengguna terautentikasi
- Hak akses penjualan kasir
- Master barang / konversi sudah punya qty_minimal_pajak bila diperlukan
Alur utama1. Kasir membuka penjualan kasir.
2. Kasir menambah barang ke nota.
3. Sistem mengambil qty_minimal_pajak dari konversi satuan terkait.
4. Sistem menampilkan / menghitung apakah baris kena PPN berdasarkan qty vs ambang batas.
5. Kasir melanjutkan ke pembayaran.
Alur negatif- Jika gagal memuat data barang / konversi, ambang batas tidak tersedia dan muncul pesan error.
- Jika brand tidak PKP (default_pengusaha_kena_pajak = 0), logika ambang batas diabaikan.
Bisnis rule- Aturan sama dengan KTN-04: bandingkan qty satuan terkecil dengan qty_minimal_pajak.
- Ambang pajak per baris, bukan per nota.
PostkondisiNota kasir menampilkan perhitungan PPN sesuai ambang batas
TriggerKasir menambah / mengubah qty barang di kasir
Kode FRFR-01
FR-03

UC-02 : Menyimpan penjualan kasir dengan PPN sesuai ambang batas​

AktorKasir
DeskripsiKasir menyelesaikan transaksi; sistem menyimpan baris penjualan beserta qty_minimal_pajak dan PPN
PrekondisiNota kasir sudah terisi
Metode bayar dipilih
Alur utama1. Kasir menyelesaikan pembayaran / simpan transaksi kasir.
2. Sistem mengirim baris penjualan termasuk qty_minimal_pajak.
3. BE memastikan PPN baris sesuai ambang batas.
4. Transaksi kasir tersimpan.
Alur negatif- Jika validasi gagal, transaksi tidak tersimpan.
- Jika brand non-PKP, logika ambang dilewati.
Bisnis rule- qty_minimal_pajak ikut tersimpan di Penjualans.
- Qty melewati ambang → PPN diterapkan; jika tidak, PPN baris tidak diterapkan.
PostkondisiInvoice kasir tersimpan dengan ambang batas dan PPN benar
TriggerKasir bayar / simpan transaksi
Kode FRFR-01
FR-02
FR-03

UC-03 : Menggunakan penjualan kasir pada tampilan tablet​

AktorKasir
DeskripsiKasir menjalankan alur penjualan kasir pada perangkat tablet dengan tampilan yang dioptimasi
Prekondisi- Pengguna terautentikasi
- Hak akses penjualan kasir
- Perangkat tablet / viewport tablet
Alur utama1. Kasir membuka penjualan kasir di tablet.
2. Sistem menampilkan layout yang disesuaikan untuk tablet (area pilih barang, nota, bayar mudah disentuh).
3. Kasir memilih barang, meninjau nota, dan menyelesaikan pembayaran tanpa hambatan tampilan.
Alur negatif- Jika elemen penting terpotong / sulit disentuh, dianggap belum memenuhi optimalisasi tablet.
- Jika gagal memuat halaman, muncul pesan error.
Bisnis rule- Optimalisasi mencakup keterbacaan, ukuran kontrol sentuh, dan alur pilih → nota → bayar di viewport tablet.
- Fungsi bisnis kasir tetap sama; yang diubah adalah presentasi / UX.
PostkondisiAlur kasir dapat diselesaikan nyaman di tablet
TriggerKasir membuka penjualan kasir di tablet
Kode FRFR-04
FR-05

5. Data Flow Diagram​

DFD-01 — Finishing penjualan kasir​

6. Sequence Diagram​

SD-01 — UC-01 : Menerapkan ambang batas kena pajak pada penjualan kasir​

SD-02 — UC-02 : Menyimpan penjualan kasir dengan PPN sesuai ambang batas​

SD-03 — UC-03 : Menggunakan penjualan kasir pada tampilan tablet​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
POST /invoice-penjualanchangedPenjualan kasir menerima qty_minimal_pajak per baris + logika PPN vs ambang batas
POST /penjualan/penjualan-onlychangedBila dipakai kasir: terima / jaga konsistensi qty_minimal_pajak dan PPN baris
GET /barang/:idexistingSumber SKU_Konversis.qty_minimal_pajak (dari KTN-04)